import axios from "axios";
import { getToken } from "./auth";

// 将来使用请求的话前缀都是https://2208aaa.lanlianhua.work
const instance = axios.create({
  baseURL: "http://192.168.7.45:3009/",
  timeout: 5000, // 请求超时时间
});
// 全局拦截（请求拦截，响应拦截）
// 全局请求拦截
instance.interceptors.request.use(
  function (config) {
    if (getToken()) {
      config.headers.authorization = `Bearer ${getToken()}`;
    }
    // 如果服务端要求你传递的参数类型是urlencoded编码
    // config.headers["content-type"] = "application/json"; // 客户端传递的是json编码
    // config.headers["content-type"] = "application/x-www-form-urlencoded"; // 客户端传递的是urlencoded编码
    return config;
  },
  function (error) {
    return Promise.reject(error);
  }
);

// 全局响应拦截
instance.interceptors.response.use(
  function (response) {
    return response.data;
  },
  function (error) {
    return Promise.reject(error);
  }
);

// 封装get，post，del，put请求
export const get = (url, params) => instance.get(url, { params }); // 请求头
export const post = (url, data) => instance.post(url, data); // 请求体
export const del = (url, params) => instance.delete(url, { params });
export default instance;
